Interactive voice response interface for webpage navigation

ABSTRACT

There is provided systems and method for interactive voice response interface for webpage navigation. An existing webpage may be altered so that the webpage and corresponding forms offer Interactive Voice Response (IVR) to a user. A JavaScript library of other software component corresponding to the IVR interface may be downloaded to the user&#39;s system and/or browser when the user accesses the webpage. The webpage includes HTML tags corresponding to elements or a separate file/database may include links to the elements. The HTML tags and/or file/database correspond to an IVR flow of information. The JavaScript library is built to interpret the HTML tags and/or file/database so the IVR flow of information may be presented to the user. Thus, when a user engages the interactive mode, the JavaScript library may present the IVR flow to the user, interpret input from the user, and send the input to the underlying webpage.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/200,559, filed Mar. 7, 2014, the entirety of which is incorporatedherein by reference.

TECHNICAL FIELD

The present application generally relates to an interactive voiceresponse interface for webpage navigation and more specifically toproviding interactive voice response functionality to existing webpagesso a user may navigate the webpage and complete webpage forms using theinteractive voice response functions.

BACKGROUND

Websites utilize webpage forms that provide for data entry from usersthat may be retained and/or utilized by the website. In general,presentation logic controls the presentation of fields and content to auser, and is linked to business logic controlling how the data isdisplayed, changed, stored, and utilized. Thus, when a user interactswith overlying presentation logic on a webpage, the backend businesslogic processes the interactions and may store or utilize the resultingdata for the website, databases, etc. Websites may be hosted by a singleor set of networked servers that enable users to access and manipulatethe website.

Interactive voice response (IVR) provides a technology allowing a userto interact with, such as receive and transmit data between, computersystems including networked servers. A server may also host the website,which may also be offered to the user as a data entry point. However,IVR systems are constructed separate from general presentation logic ofwebpage elements. For example, a separate system is constructed and tiedto the backend business logic in an IVR system. The separate systemgoverns the presentation of IVR messages and the receipt of keyboardand/or voice input. Thus, existing webpage content created for use anddisplay to the user is not reused for the IVR system, and vice versa.Therefore, existing servers require construction of two separate systemsin order to offer website and IVR functionality to users.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a networked system suitable forimplementing the process described herein, according to an embodiment;

FIG. 2A is an exemplary system displaying a blank webpage form with aninteractive voice response interface, according to an embodiment;

FIG. 2B is an exemplary system displaying a completed webpage form usingan interactive voice response interface, according to an embodiment;

FIG. 3 is a flowchart of an exemplary process by a server for aninteractive voice response interface for webpage form completion,according to an embodiment; and

FIG. 4 is a block diagram of a computer system suitable for implementingone or more components in FIG. 1, according to an embodiment.

Embodiments of the present disclosure and their advantages are bestunderstood by referring to the detailed description that follows. Itshould be appreciated that like reference numerals are used to identifylike elements illustrated in one or more of the figures, whereinshowings therein are for purposes of illustrating embodiments of thepresent disclosure and not for purposes of limiting the same.

DETAILED DESCRIPTION

A networked server may include a website having individual webpagesincluding webpage elements that may accept entries, changes, and otherinputs from a user to store and/or process data from the inputs. Thewebpage may further offer an Interactive Voice Response (IVR) systeminterface for the webpage. The IVR interface may include a flow ofwebpage elements on the webpage, which are verbally and/or textuallypresented to the user. The IVR system may further accept inputs thatcorrespond to the webpage elements so that the user may make selectionsand/or enter input on the webpage. The IVR system may accept vocaland/or textual inputs (e.g., a button or key selection or a voicecommand) for each webpage element. Thus, the user may enter informationinto the webpage using the IVR system.

The IVR interface may be constructed by defining custom HTML (or otherwebpage) tags for fields and/or elements on the webpage. Thus, thecustom HTML tags may correspond to a flow of information in the IVRsystem interface and include sequencing numbers corresponding to theflow. In other embodiments, a separate file and/or database may maintainthe IVR flow information with links the existing fields and/or elementson the webpage. Once the IVR flow information is defined, a JavaScriptlibrary may be constructed, where the JavaScript library interprets theIVR flow information. The JavaScript library may be included with thewebpage so that the library is downloaded to the user's browser when theuser accesses the webpage. Thus, the user may initiate the JavaScriptlibrary when the user visits the webpage and utilize the IVR interface.Where custom HTML tags are utilized, the software component library mayprocess the underlying HTML document for the webpage. In otherembodiments using a separate file or database, the software componentlibrary may process the file/database that includes links to the webpageand processes to interact with the webpage through user inputs.

FIG. 1 is a block diagram of a networked system 100 suitable forimplementing the processes described herein, according to an embodiment.As shown, system 100 may comprise or implement a plurality of devices,servers, and/or software components that operate to perform variousmethodologies in accordance with the described embodiments. Exemplarydevice and servers may include device, stand-alone, and enterprise-classservers, operating an OS such as a MICROSOFT® OS, a UNIX® OS, a LINUX®OS, or other suitable device and/or server based OS. It can beappreciated that the devices and/or servers illustrated in FIG. 1 may bedeployed in other ways and that the operations performed and/or theservices provided by such devices and/or servers may be combined orseparated for a given embodiment and may be performed by a greaternumber or fewer number of devices and/or servers. One or more devicesand/or servers may be operated and/or maintained by the same ordifferent entities.

System 100 includes a user 102, a user device 110, an IVR server 120,and a website server 130 in communication directly and/or over a network140. IVR server 120 may establish an IVR flow for the webpage and defineIVR flow information using either custom HTML tags on fields in thewebpage or through a separate file/database which maintains IVR flowinformation as links to the fields in the webpage. Once IVR flowinformation is determined, a software component library may be generatedthat interprets the IVR flow information and loads voice messagescorresponding to the fields from the IVR flow information. User 102 mayutilize user device 110 to access a webpage of website server 130 andreceived the software component library. Thus, user 102 may hear thevoice messages and input data/information to the webpage through themessages when user 102 initiates the software component library. Thus,user 102 may navigate webpages of website server 130 using the IVRinterface provided by IVR server 120.

User device 110, IVR server 120, and website server 130 may each includeone or more processors, memories, and other appropriate components forexecuting instructions such as program code and/or data stored on one ormore computer readable mediums to implement the various applications,data, and steps described herein. For example, such instructions may bestored in one or more computer readable media such as memories or datastorage devices internal and/or external to various components of system100, and/or accessible over network 140.

User device 110 may be implemented using any appropriate hardware andsoftware configured for wired and/or wireless communication with IVRserver 120 and/or website server 130. For example, in one embodiment,user device 110 may be implemented as a personal computer (PC), a smartphone, personal digital assistant (PDA), laptop computer, wristwatchwith appropriate computer hardware resources, eyeglasses withappropriate computer hardware (e.g. GOOGLE GLASS®) and/or other types ofcomputing devices capable of transmitting and/or receiving data, such asan IPAD® from APPLE®. Although a user device is shown, the user devicemay be managed or controlled by any suitable processing device. Althoughonly one user device is shown, a plurality of user devices may beutilized in the same manner and with the same features as described withrespect to user device 110.

User device 110 of FIG. 1 contains a browser application 112, otherapplications 114, a database 116, and a network interface component 118.Browser application 112 and other applications 114 may correspond toprocesses, procedures, and/or applications executable by a hardwareprocessor, for example, a software program. In other embodiments, userdevice 110 may include additional or different software as required.

Browser application 112 may be used, for example, to provide aconvenient interface to permit a user to browse information availableover network 140 including accessing webpages, entering information fromwebpages, and navigating websites through webpages. In certainembodiments, browser application 112 may be implemented as a web browserconfigured to view information available over the Internet or access awebsite of a website provider, such as website server 130. For example,browser application 112 may be utilized to access websites and engage inonline actions with website server 130, including viewing informationprovided on the webpages, entering information to the webpages, andnavigating through the website. Accessible websites may includefinancial websites to view financial information and engage in financialtransactions, messaging websites, social networking websites, and/orother online sources. Additionally, browser application 112 may accessother service providers that may provide services in association withwebsites, such as IVR server 120.

Browser application 112 may receive other information than displayablewebpages from IVR server 120 and/or website server 130. For example,browser application 112 may be configured to receive an interactivevoice response (IVR) like interface for webpages of website server 130.Browser application 112 may receive a software component library thatmay read IVR flow information for a website and present the IVR flowinformation to user 102 through voice messages, as will be explained inmore detail herein.

IVR flow may correspond to a sequencing of webpage elements that includeinformation presented on a webpage as well as fields of the webpage thatmay accept input and/or website navigation instructions (e.g., aclickable button that navigates to other webpages throughout a website).IVR flow information may be determined using the IVR flow and includeHTML tags on webpage elements of a file/database with links to webpageelements, as will be discussed in more detail herein. Browserapplication may execute the software component library to interpret theIVR flow information and present and IVR like interface to user 102using the IVR flow information. The IVR like interface may walk user 102through the webpage elements, such as by playing a voice message foreach webpage element that includes an input that may select, change,and/or navigate through the webpage element. For example, the IVRmessage for a first tab of a money transfer webpage that corresponds totransferring money to a recipient may include a message “Press ctrl-1 totransfer money,” while the IVR message for a second tab of a moneytransfer webpage that corresponds to requesting a transfer of money froma sender may include “Press ctrl-2 to request money.”

Browser application 112 may receive input for the fields in the form oftext input using an attached device (e.g., keyboard, mouse, etc.).Additionally, input to the webpage may also be in the form of voiceinput by user 102 that may be converted to text and/or commands. Forexample, voice input may correspond to an amount of money or name of aperson to enter a field that may be converted to text into the field. Inother embodiments, the voice input may be a command to advance to a newwebpage or revisit a previous webpage. Inputs entered by user 102 mayalso include identifiers and/or other data from database 116 that may berecalled using a voice command and/or keyboard shortcut/command (e.g.,through a previous establishment of the identifier having a voicecommand to recall the identifier).

User device 110 includes other applications 114 as may be desired inparticular embodiments to provide features to user device 110. Forexample, other applications 114 may include security applications forimplementing client-side security features, programmatic clientapplications for interfacing with appropriate application programminginterfaces (APIs) over network 140, or other types of applications.Other applications 114 may also include email, texting, voice and IMapplications that allow a user to send and receive emails, calls, texts,and other notifications through network 140. Where not provided byfeatures of browser application 112, other applications 114 may includepayment applications and/or include financial applications, such asbanking, online payments, money transfer, or other applicationsassociated with website server 130. Other applications 114 may containsoftware programs, executable by a processor, including a graphical userinterface (GUI) configured to provide an interface to the user.

User device 110 may further include database 116 which may include, forexample, identifiers such as operating system registry entries, cookiesassociated with browser application 112 and/or other applications 114,identifiers associated with hardware of user device 110, or otherappropriate identifiers, such as identifiers used forpayment/user/device authentication or identification. In one embodiment,identifiers in database 116 may be used by website server 130 toassociate user device 110 with a particular account maintained by thewebsite server 130. Database 116 may further include payment cardinformation, including credit, debit, and/or gift card information. Invarious embodiments, database 116 may include online account accessinformation. Information in database 116 may include a correspondingvoice command or keyboard shortcut/command that may recall and enter theinformation based on the command. Database 116 may also storeinformation for IVR server 120, a server corresponding to IVR server120, and/or a wireless beacon corresponding to IVR server 120, such asidentifiers, URL's and/or IP addresses, etc.

User device 110 includes at least one network interface component 118adapted to communicate with merchant device and/or website server 130.In various embodiments, network interface component 118 may include aDSL (e.g., Digital Subscriber Line) modem, a PSTN (Public SwitchedTelephone Network) modem, an Ethernet device, a broadband device, asatellite device and/or various other types of wired and/or wirelessnetwork communication devices including microwave, radio frequency,infrared, Bluetooth, and near field communication devices.

IVR server 120 may be maintained, for example, by a server offering IVRservices for navigation of a website, including webpages and webpageforms. Generally, IVR server 120 may be maintained by anyone or anyentity that provides the IVR services described below. In this regard,IVR server 120 may include one or more processing applications, whichmay be configured to interact with user device 110 and/or website server130 to generate IVR interfaces for webpages hosted by website server 130and transmit them to user device 110 and/or website server 130 forpresentation when user 102 visits the webpage using user device 110.Although IVR server 120 is shown separate from website server, some orall of the features and processes of IVR server 120 may be incorporatedwithin website server 130.

IVR server 120 includes a webpage IVR application 122, otherapplications 124, a database 126, and a network interface component 128.Webpage IVR application 122 and other applications 124 may correspond toprocesses, procedures, and/or applications executable by a hardwareprocessor, for example, a software program. In other embodiments, IVRserver 120 may include additional or different software as required

Webpage IVR application 122 may be configured to generate and provideinteractive voice response (IVR) like interfaces for existing websitesand webpages that do not originally provide an IVR interface. In thisregard, webpage IVR application 122 may process a website and thewebsites corresponding webpages to provide an IVR like interface. An IVRinterface for a website may provide for voice messages and/or commandsthat user 102 can hear. The voice messages and/or commands maycorrespond to webpage elements and may provide for a vocal layout of thewebpage, for example, announcing the selectable tabs of a webpage, theavailable fields to enter information for a webpage, and/or thenavigational tools of the webpage or the overarching website. In atypical webpage with forms that can be filled out, presentation logicsits on top of the fields and content. The presentation logic isconnected to back-end business logic that determines how data can beentered, stored, and/or manipulated (changed, transmitted, etc.). Thus,in order to reuse existing webpage presentation logic without building anew IVR system tied to the backend business logic, webpage IVRapplication 122 may determine a webpage's IVR flow of existing webpageelements in a webpage and/or webpage form and define/specify IVR flowinformation on top of the existing webpage elements.

In order to determine the IVR flow information, existing webpageelements may be selected and an IVR flow between the existing webpageelements determined. For example, an IVR flow may correspond toassigning a first webpage element as first in the IVR flow and assigningthat first webpage element a first message (including, in variousembodiments, a keyboard command to select, change, and/or execute thatwebpage element). Similarly, the next webpage element receives a similartreatment. Once an IVR flow is determined, IVR flow information may bespecified using custom HTML tags corresponding to the webpage elements.The custom HTML tags may define the IVR flow information within thewebpage itself. The custom HTML tags may be included in the underlyingwebpage code and be interpretable by a software component library, suchas a JavaScript library. In other embodiments, different scriptinglanguages may be utilized. Thus, the software component library may bewritten in any browser scripting language. The custom HTML tags mayinclude sequencing information (e.g., from the first webpage element tothe next) as well as voice messages to play for each webpage element.The custom HTML tags may also include information for keys and/orkeyboard commands corresponding to each webpage element so that user 102may access, select, and/or provide information to the webpage element.

In other embodiments, the IVR flow information may be specified using aseparate file/database which maintains the IVR flow information andincludes links to the existing fields in the webpage. For example, aJavaScript Object Notation (JSON) file may include IVR flow informationby including links to the existing webpage elements as well as voicemessages to play for the webpage elements (or text to convert to voicemessages) and the sequencing of the webpage elements. However, aspreviously discussed, other file formats may be utilized for thebrowser's scripting language. Thus, the file/database may be formattedin a format matching the browser scripting language utilized to generatethe software component library. The file may provide for mapping betweenkeys of a keyboard and/or keyboard commands and the webpage elements toenable a user to access, select, and/or provide information to thewebpage element.

A software component library, such as a JavaScript library, may becreated to interpret the custom HTML tags and/or separate file/database.The JavaScript library may be transmitted to a user's browser, such asbrowser application 112 of user device 110. On execution of a particularkeyboard command (e.g., ctrl-I, etc.), the software component librarymay be loaded to interpret the IVR flow information in either the customHTML tags or separate file/database. Thus, once user 102 engages thesoftware component library, the software component library may beutilized to present an IVR interface to user 102 by interpreting thecustom HTML tags and playing their corresponding voice messages orprocessing the separate file/database and playing voice messagescorresponding to the linked webpage elements.

In various embodiments, IVR server 120 includes other applications 124as may be desired in particular embodiments to provide features to IVRserver 120. For example, other applications 124 may include securityapplications for implementing server-side security features,programmatic server applications for interfacing with appropriateapplication programming interfaces (APIs) over network 140, or othertypes of applications. Other applications 124 may contain softwareprograms, executable by a processor, including a graphical userinterface (GUI), configured to provide an interface to a user.

IVR server 120 may further include database 126 which may include, forexample, identifiers such as operating system registry entries, cookiesassociated with webpage IVR application 122 and/or other applications124, identifiers associated with hardware of IVR server 120, or otherappropriate identifiers, such as identifiers used for deviceauthentication or identification. Database 126 may include IVR flowinformation for webpages of website server 130 as well as matchingsoftware component libraries. IVR flow information and/or softwarecomponent libraries may be stored in database 126 for retrieval by userdevice 110 or may be transmitted to website server 130 for use withwebpages hosted by website server 130.

In various embodiments, IVR server 120 includes at least one networkinterface component 128 adapted to communicate with user device 110and/or website server 130. In various embodiments, network interfacecomponent 128 may include a DSL (e.g., Digital Subscriber Line) modem, aPSTN (Public Switched Telephone Network) modem, an Ethernet device, abroadband device, a satellite device and/or various other types of wiredand/or wireless network communication devices including microwave, radiofrequency, infrared, Bluetooth, and near field communication devices.

Website server 130 may be maintained, for example, by an online websiteprovider, which may provide website for display and use to user 102through user device 110. In this regard, website server 130 includes oneor more website hosting applications which may be configured to interactwith user device 110 and/or IVR server 120 to provide a website andcorresponding webpages to user 102 with IVR like interfaces fornavigation and use of the webpages. In one example, website server 130may be provided by PAYPAL®, Inc. of San Jose, Calif., USA. However, inother embodiments, website server 130 may be maintained by any website.Although website server 130 is shown separate from website server 130,some or all of the features and processes of website server 130 may beincorporated within IVR server 120.

Website server 130 of FIG. 1 includes a website hosting application 132,other applications 134, a database 136, and a network interfacecomponent 138. Website hosting application 132 and other application 134may correspond to processes, procedures, and/or applications executableby a hardware processor, for example, a software program. In otherembodiments, website server 130 may include additional or differentsoftware as required.

Website hosting application 132 may be configured to provide for hostinga website, including presentation of underlying webpages of the website.Website hosting application 132 may provide for webpages that aredisplayable to user 102 through user device 110. In this regard, user102 may utilize user device 110 to access one or more websites ofwebsite server 130 and view the webpages of the associated domain. Thewebpages may correspond to Hypertext Markup Language (HTML or similarXHTML and/or CS S) documents that may be accessed and transmitted usingHypertext Transfer Protocol (HTTP) by user device 110.

In addition to providing the webpages, website hosting application 132may provide IVR like interfaces using IVR flow information and asoftware component library provided by IVR server 120. When IVRinformation flow corresponds to custom HTML tags, website hostingapplication 132 may insert the custom HTML tags into a webpages HTMLdocument. Thus, when the webpage is accessed, a software componentlibrary (e.g., JavaScript or other browser scripting language library)may be downloaded to user device 110 and engaged through a keyboardcommand by user 102. The software component library may then interpretthe custom HTML tags in the webpages HTML document. However, where theIVR flow information is defined using a separate file/database, theseparate file/database may be downloaded to user device 110 whenaccessing a webpage and include tags to webpage elements/fields in thefile/database. A similar software component library may also bedownloaded and engaged using a keyboard command. Once the file/databaseis interpreted by the software component library, the file/database mayinclude keyboard keys and/or commands/shortcuts to engage webpageelements/fields.

In various embodiments, website server 130 includes other applications134 as may be desired in particular embodiments to provide features towebsite server 130. For example, other applications 134 may includesecurity applications for implementing server-side security features,programmatic server applications for interfacing with appropriateapplication programming interfaces (APIs) over network 140, or othertypes of applications. Other applications 134 may contain softwareprograms, executable by a processor, including a graphical userinterface (GUI), configured to provide an interface to a user.

Additionally, website server 130 includes database 136, which mayinclude website data, logic, and content. Database 146 may include useraccounts usable with the website of website server 130. User accountsmay include user information, such as name, address, birthdate,payment/funding information, additional user financial information,and/or other desired user data. User 102 may link a user account indatabase 136 through a user identifier, user device identifier, and/oruser account identifier. Thus, when an appropriate identifier istransmitted to website server 130, e.g. from user device 110 and/or IVRserver 120, a user account belonging to user 102 may be found. However,in other embodiments, user 102 may not have previously established auser account. Thus, website server 130 may complete transactions andprocedures based on other user information received from user device 110and/or IVR server 120. Database 136 may include IVR interfaceinformation, such as IVR flow information and/or corresponding softwarecomponent libraries for interpreting and presenting the IVR flowinformation. Information in database 136 may be utilized to present anIVR like interface for webpages of website server 130.

In various embodiments, website server 130 includes at least one networkinterface component 138 adapted to communicate with network 140including user device 110 and/or IVR server 120. In various embodiments,network interface component 138 may comprise a DSL (e.g., DigitalSubscriber Line) modem, a PSTN (Public Switched Telephone Network)modem, an Ethernet device, a broadband device, a satellite device and/orvarious other types of wired and/or wireless network communicationdevices including microwave, radio frequency (RF), and infrared (IR)communication devices.

Network 140 may be implemented as a single network or a combination ofmultiple networks. For example, in various embodiments, network 140 mayinclude the Internet or one or more intranets, landline networks,wireless networks, and/or other appropriate types of networks. Thus,network 140 may correspond to small scale communication networks, suchas a private or local area network, or a larger scale network, such as awide area network or the Internet, accessible by the various componentsof system 100.

FIG. 2A is an exemplary system displaying a blank webpage form with aninteractive voice response interface, according to an embodiment. FIG.2A includes a user device 210 corresponding generally to user device 110of FIG. 1. Additionally, user device 110 displays a browser applicationinterface 212 corresponding generally to the described features andfunctions of browser application 112 of FIG. 1.

User device 210 displays browser application interface 212 havingwebpage 260 for website X 250. Webpage 260 may include a webpage form262 a having transfer amount 264 a and a continue button 268.Additionally, webpage 260 includes a selected element 266 a. Aspreviously discussed, an IVR like interface for webpage 260 may beengaged using a keyboard command, or may be engaged using another input,such as a voice input, mouse input, etc. Once the IVR like interface isengaged through a user initiation, IVR flow information for webpage 260may be interpreted by a software component library.

For example, the IVR flow information may correspond to custom HTML tagsin the HTML document for webpage 260. Thus, a software componentlibrary, such as a JavaScript library may interpret the custom HTML tagsin the webpage document that correspond to webpage elements and theircorresponding voice messages. A custom HTML tag may be assigned akeyboard or voice input shortcut for selection of the webpage element.Thus, webpage form 262 a may include a first custom HTML tag that isinterpreted and a voice message is loaded and played that states thename of webpage form 262 a, such as “Transfer Money Form.” Transferamount 264 a may be a second custom HTML tags that plays a secondmessage, shown in an IVR message 270 a as “Enter or state an amount ofmoney to transfer and press return or say complete.” As shown in FIG.2A, the custom HTML tag for transfer amount 264 a may include a keyboardor voice command that enables the user viewing browser applicationinterface 212 to complete the webpage element of transfer amount 264 a.In addition, IVR message 270 a or another IVR message may also state,“Press ctrl-2 to begin entering a transfer amount,” in order to navigateto transfer amount 264 a where the webpage element for transfer amount264 a is not immediately selected when IVR message 270 a is played.Thus, IVR message 270 a may include information for the user to arriveat transfer amount 264 a as selected element 266 a. In otherembodiments, IVR message 270 a includes a voice command that may allownavigation through website X 250, such as a “press backspace to returnto the previous form/webpage.” Webpage 260 may further include a thirdwebpage element, continue button 268, which may be selectable with avoice command or keyboard command. Thus, IVR message 270 a instructs theuser to say complete or press return to complete the field of transferamount 264 a and change selected element 266 a to continue button 268,as is shown in FIG. 2B.

Similar to custom HTML tags, a separate file/document, such as a JSON orother file format document corresponding to the browser scriptinglanguage, that includes the IVR flow information between webpageelements may be utilized. In a document, webpage form 262 a may betagged with links and include a message and a keyboard/voice commandthat may select a webpage element and/or enter information into thewebpage element. In a similar manner, when the software componentlibrary loads the file/database and plays voice messages in thefile/database, those webpage elements may be selected, changed, and/orprocessed. The voice messages and walkthrough of webpage 260 may besimilar to as described above. The voice messages may include audiofiles or may include text messages that are translated and played. Thus,in such a way, a user may be walked through webpage 260 through voicecommands.

FIG. 2B is an exemplary system displaying a completed webpage form usingan interactive voice response interface, according to an embodiment.FIG. 2B includes a user device 210 corresponding generally to userdevice 110 of FIG. 1. Additionally, user device 110 displays a browserapplication interface 212 corresponding generally to the describedfeatures and functions of browser application 112 of FIG. 1.

FIG. 2B shows webpage 260 as a user navigates through webpage 260 usingthe IVR interface provided through IVR messages 270 a of FIG. 2A and IVRmessage 270 b in FIG. 2B. Thus, after the user hears IVR message 270 aand is instructed to enter money into transfer amount 264 a, the userpresses return or says complete. In webpage form 262 b, transfer amount264 b shows $2,000.00 after the user has stated an amount and pressedreturn or said complete. Thus, the IVR like interface advances selectedelement 266 b to continue button 268 and plays IVR message 270 b. IVRmessage 270 b instructs the user to “Press return or say next tocontinue to providing transfer recipient information.” By pressingreturn or saying next, the user may select continue button 268 andadvance to the next webpage of website X 250.

If selection of continue button 268 causes website X 250 to advance to anew webpage, the new webpage may similarly contain IVR flow informationin the form of HTML tags or a separate file/database that is interpretedby a software component library. Thus, user device 210 may continueexecuting the software component library, which then interprets the IVRflow information for the new webpage. The IVR flow information for thenew webpage may then navigate the user through the webpage by similarlyissuing voice instructions to select webpage elements and enterinformation into those webpage elements.

FIG. 3 is a flowchart of an exemplary process by a server for aninteractive voice response interface for webpage form completion,according to an embodiment. Note that one or more steps, processes, andmethods described herein may be omitted, performed in a differentsequence, or combined as desired or appropriate.

At step 302, IVR flow information from each of at least one webpageelement in a webpage is determined IVR flow information may comprisecustom HTML tags corresponding to the each of the at least one webpageelement. In other embodiments, IVR flow information may comprise aseparate file or database with links to the each of the at least onewebpage element. In various embodiments, the separate file may be a JSONfile or other file format for use with a browser scripting language.

A software component library is transmitted to a user for processing ona user initiation to present an IVR interface to the user using the IVRflow information, wherein the user utilizes the IVR interface to enterat least one input corresponding to the at least one webpage element, atstep 304. The software component library may interpret the IVR flowinformation of the webpage in order to present the each of the at leastone webpage element using the IVR flow information. The IVR interfacemay walk the user through the webpage elements in an order and providefor keyboard and/or voice command to select webpage elements, enterinformation to those webpage elements, and navigate throughout thewebpage including to other webpages. The software component library maycomprise a JavaScript library and may be transmitted to a web browser ofthe user. In other embodiments, the JavaScript library may be anotherbrowser scripting language. Additionally, user initiation of thesoftware library may comprise navigating to the webpage, a user keyboardcommand, and/or a user voice command.

At step 306, the at least one input is received from the user. The atleast one input may comprise a text input and/or a voice input.Additionally, the at least one input may be entered into a correspondingwebpage element of the at least one webpage element. The webpage may besubmitted to a host of the webpage after entering the at least one inputinto the corresponding webpage element.

FIG. 4 is a block diagram of a computer system suitable for implementingone or more components in FIG. 1, according to an embodiment. In variousembodiments, the user device may comprise a personal computing device(e.g., smart phone, a computing tablet, a personal computer, laptop,PDA, Bluetooth device, key FOB, badge, etc.) capable of communicatingwith the network. The merchant device and/or service provider mayutilize a network computing device (e.g., a network server) capable ofcommunicating with the network. It should be appreciated that each ofthe devices utilized by users and service providers may be implementedas computer system 400 in a manner as follows.

Computer system 400 includes a bus 402 or other communication mechanismfor communicating information data, signals, and information betweenvarious components of computer system 400. Components include aninput/output (I/O) component 404 that processes a user action, such asselecting keys from a keypad/keyboard, selecting one or more buttons,image, or links, and/or moving one or more images, etc., and sends acorresponding signal to bus 402. I/O component 404 may also include anoutput component, such as a display 411 and a cursor control 413 (suchas a keyboard, keypad, mouse, etc.). An optional audio input/outputcomponent 405 may also be included to allow a user to use voice forinputting information by converting audio signals. Audio I/O component405 may allow the user to hear audio. A transceiver or network interface406 transmits and receives signals between computer system 400 and otherdevices, such as another user device, a merchant device, or a serviceprovider server via network 140. In one embodiment, the transmission iswireless, although other transmission mediums and methods may also besuitable. One or more processors 412, which can be a micro-controller,digital signal processor (DSP), or other processing component, processesthese various signals, such as for display on computer system 400 ortransmission to other devices via a communication link 418. Processor(s)412 may also control transmission of information, such as cookies or IPaddresses, to other devices.

Components of computer system 400 also include a system memory component414 (e.g., RAM), a static storage component 416 (e.g., ROM), and/or adisk drive 417. Computer system 400 performs specific operations byprocessor(s) 412 and other components by executing one or more sequencesof instructions contained in system memory component 414. Logic may beencoded in a computer readable medium, which may refer to any mediumthat participates in providing instructions to processor(s) 412 forexecution. Such a medium may take many forms, including but not limitedto, non-volatile media, volatile media, and transmission media. Invarious embodiments, non-volatile media includes optical or magneticdisks, volatile media includes dynamic memory, such as system memorycomponent 414, and transmission media includes coaxial cables, copperwire, and fiber optics, including wires that comprise bus 402. In oneembodiment, the logic is encoded in non-transitory computer readablemedium. In one example, transmission media may take the form of acousticor light waves, such as those generated during radio wave, optical, andinfrared data communications.

Some common forms of computer readable media includes, for example,floppy disk, flexible disk, hard disk, magnetic tape, any other magneticmedium, CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, RAM, PROM, EEPROM,FLASH-EEPROM, any other memory chip or cartridge, or any other mediumfrom which a computer is adapted to read.

In various embodiments of the present disclosure, execution ofinstruction sequences to practice the present disclosure may beperformed by computer system 400. In various other embodiments of thepresent disclosure, a plurality of computer systems 400 coupled bycommunication link 418 to the network (e.g., such as a LAN, WLAN, PTSN,and/or various other wired or wireless networks, includingtelecommunications, mobile, and cellular phone networks) may performinstruction sequences to practice the present disclosure in coordinationwith one another.

Where applicable, various embodiments provided by the present disclosuremay be implemented using hardware, software, or combinations of hardwareand software. Also, where applicable, the various hardware componentsand/or software components set forth herein may be combined intocomposite components comprising software, hardware, and/or both withoutdeparting from the spirit of the present disclosure. Where applicable,the various hardware components and/or software components set forthherein may be separated into sub-components comprising software,hardware, or both without departing from the scope of the presentdisclosure. In addition, where applicable, it is contemplated thatsoftware components may be implemented as hardware components andvice-versa.

Software, in accordance with the present disclosure, such as programcode and/or data, may be stored on one or more computer readablemediums. It is also contemplated that software identified herein may beimplemented using one or more general purpose or specific purposecomputers and/or computer systems, networked and/or otherwise. Whereapplicable, the ordering of various steps described herein may bechanged, combined into composite steps, and/or separated into sub-stepsto provide features described herein.

The foregoing disclosure is not intended to limit the present disclosureto the precise forms or particular fields of use disclosed. As such, itis contemplated that various alternate embodiments and/or modificationsto the present disclosure, whether explicitly described or impliedherein, are possible in light of the disclosure. Having thus describedembodiments of the present disclosure, persons of ordinary skill in theart will recognize that changes may be made in form and detail withoutdeparting from the scope of the present disclosure. Thus, the presentdisclosure is limited only by the claims.

What is claimed is:
 1. A system comprising: a non-transitory memorystoring a software component library for a plurality of webpage elementspresented on a webpage; and one or more hardware processors configuredto execute instructions to perform operations comprising: receiving arequest to access the webpage for a website from a user device, whereinthe webpage comprises the plurality of webpage elements presented on thewebpage; accessing the software component library for the webpage;transmitting the software component library to the device that causesthe device to present an IVR interface that enables IVR navigationbetween the plurality of webpage elements using audio outputs.
 2. Thesystem of claim 1, wherein the operations further comprise: receiving atleast one input to at least one of the plurality of webpage elements,wherein the at least one input comprises one of a text input and a voiceinput.
 3. The system of claim 2, wherein the operations furthercomprise: entering the at least one input into a corresponding webpageelement.
 4. The system of claim 3, wherein the operations furthercomprise: processing the at least one input into the correspondingwebpage element.
 5. The system of claim 1, wherein the softwarecomponent library comprises a JavaScript library.
 6. The system of claim1, wherein the software component library is transmitted to a webbrowser of the user device.
 7. The system of claim 1, wherein theoperations further comprise: receiving a request to initiate the IVRinterface, wherein the request comprises one of navigating to thewebpage, a user keyboard command, and a user voice command, wherein thesoftware component library is transmitted to the user device based onthe request.
 8. The system of claim 1, wherein the software componentlibrary comprises custom HTML tags corresponding to the plurality ofwebpage elements.
 9. The system of claim 1, wherein the softwarecomponent library comprises a separate file or database with links tothe plurality of webpage elements.
 10. A method comprising: receiving arequest to access a webpage for a website from a user device, whereinthe webpage comprises a plurality of webpage elements presented on thewebpage; accessing a software component library for the webpage;transmitting the software component library to the device that causesthe device to present an IVR interface that enables IVR navigationbetween the plurality of webpage elements using audio outputs.
 11. Themethod of claim 10, wherein the operations further comprise: receivingat least one input to at least one of the plurality of webpage elements,wherein the at least one input comprises one of a text input and a voiceinput.
 12. The method of claim 11, wherein the operations furthercomprise: entering the at least one input into a corresponding webpageelement.
 13. The method of claim 12, wherein the operations furthercomprise: processing the at least one input into the correspondingwebpage element.
 14. The method of claim 10, wherein the softwarecomponent library comprises a JavaScript library.
 15. The method ofclaim 10, wherein the software component library is transmitted to a webbrowser of the user device.
 16. The method of claim 10, wherein theoperations further comprise: receiving a request to initiate the IVRinterface, wherein the request comprises one of navigating to thewebpage, a user keyboard command, and a user voice command, wherein thesoftware component library is transmitted to the user device based onthe request.
 17. The method of claim 10, wherein the software componentlibrary comprises custom HTML tags corresponding to the plurality ofwebpage elements.
 18. The method of claim 10, wherein the softwarecomponent library comprises a separate file or database with links tothe plurality of webpage elements.
 19. A non-transitory machine-readablemedium having stored thereon machine-readable instructions executable tocause a machine to perform operations comprising: receiving a request toaccess a webpage for a website from a user device, wherein the webpagecomprises a plurality of webpage elements presented on the webpage;accessing a software component library for the webpage; transmitting thesoftware component library to the device that causes the device topresent an IVR interface that enables IVR navigation between theplurality of webpage elements using audio outputs.
 20. Thenon-transitory machine-readable medium of claim 19, wherein the softwarecomponent library comprises custom HTML tags corresponding to theplurality of webpage elements.